import asyncio
import time

# 多协程-协程的同步，两种方式。

# 吃饭任务
async def eat():
    for i in range(6):
        print('正在吃东西...')
        # 这个time.sleep(0.3)是同步等待，不会切换到别的协程，一直占用cpu
        time.sleep(0.3)


# 做作业任务
async def work():
    for i in range(6):
        print('正在学习...')
        # 这个time.sleep(0.3)是同步等待，不会切换到别的协程，一直占用cpu
        time.sleep(0.3)

# 定义一个异步函数入口
async def main():
    # 方式一：异步函数（协程）同步执行
    # await asyncio.gather(eat(), work())

    # 方式二：异步函数（协程）同步执行
    await eat()
    await work()

if __name__ == '__main__':
    # 如下调用异步函数（协程）是其实是同步的
    # asyncio.run(eat())
    # asyncio.run(work())

    # 异步函数统一入口
    asyncio.run(main())